package com.huitone.gddw.service.monitoring.base;

import java.util.List;
import java.util.Map;

import com.huitone.gddw.dao.entity.InnormalEvent;
import com.huitone.gddw.dao.entity.WarnEventTrace;
import com.huitone.gddw.model.support.QueryPage;
import com.huitone.gddw.service.dto.monitoring.warn.InnormalEventDTO;

/**
 * 监控异常事件管理  接口
 * @author wuluodan
 *
 */
public interface IInnormalEventService {

	/**
	 * 删除对象的所有监控异常事件信息
	 * @param objId 对象ID
	 */
	void delByObjId(String objId);

	/**
	 * 删除子项的所有监控异常事件信息
	 * @param itemId 子项ID
	 */
	void delByItemId(String itemId);

	/**
	 * 删除属性的所有监控异常事件信息
	 * @param keyId 键ID
	 */
	void delByKeyId(String keyId);

	/**
	 * 删除监控的所有监控异常事件信息
	 * @param triggerId 监控ID
	 */
	void delByTriggerId(String triggerId);
	
	/**
	 * 分页查询
	 * @param page
	 * @return QueryPage<Map<String, Object>>
	 */
	QueryPage<Map<String, Object>> selectPage(QueryPage<InnormalEvent> page);
	
	/**
	 * 根据主键获取唯一记录
	 * @param recId 主键ID
	 * @return InnormalEvent
	 */
	InnormalEvent getById(String recId);
	
	/**
	 * 更新
	 * @param entity InnormalEvent
	 * @param warnEventTrace WarnEventTrace
	 */
	void update(InnormalEvent entity, WarnEventTrace warnEventTrace);
	
	/**
	 * 定时任务  判断异常数据
	 */
	void autoCreateInnormalEvent();
	
	/**
	 * 获取告警信息
	 * @return
	 */
	List<InnormalEventDTO> findWarn();
	
}
